import sys

from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QApplication
from qfluentwidgets import CardWidget, PushButton, SearchLineEdit, TableWidget,setCustomStyleSheet
#这个项目很多模块,只要能从qfluentwidgets中导入,就从qfluentwidget中导入

from test1.student_system.util.custom_style import ADD_BUTTON_STYLE, BATCH_DELETE_BUTTON_STYLE
#这时从自定义的样式文件中导入需要的组件样式

class StudentInterface(QWidget):
    def __init__(self):
        super().__init__()
        self.resize(800, 600)
        self.layout = QVBoxLayout(self)
        self.setObjectName("studentInterface")
        self.setup_ui()

        #top button
        #self.card_widget=CardWidget(self)#按钮父元素,卡片样式
        #buttons_layout=QHBoxLayout(self.card_widget)#
        #self.layout = QVBoxLayout(self)#添加布局

        # self.addButton=PushButton("新增",self)
        # self.searchInput=SearchLineEdit(self)
        # self.searchInput.setPlaceholderText("搜索学生姓名或学号......")
        # self.searchInput.setFixedWidth(500)
        # self.batchDeleteButton=PushButton("批量删除",self)
        #
        # #buttons_layout.addWidget(self.addButton)
        # #buttons_layout.addWidget(self.searchInput)
        # #buttons_layout.addWidget(self.batchDeleteButton)
        # #layout.addWidget(card_widget)
        #
        # self.setStyleSheet("StudentInterface {background: }")#这就是qss样式设置方式
        # self.resize(1280,760)
        #
        # self.addButton=PushButton('添加学生')
        # #layout = QVBoxLayout(self)
        #
        # #top button
        # self.card_widget=CardWidget(self)#按钮父元素,卡片样式
        # self.layout = QVBoxLayout(self.card_widget)
        # self.buttons_layout=QHBoxLayout()#它归属于card_widget
        # self.buttons_layout.addWidget(self.addButton)
        #self.layout.addWidget(self.card_widget,alignment=Qt.AlignmentFlag.AlignTop)
    def setup_ui(self):
        #
        #top button
        card_widget=CardWidget(self)#按钮父元素,卡片样式
        #设置卡片的宽度,宽度继承块的宽度
        #card_widget.setFixedWidth(self.width())
        #设置卡片的高度
        #card_widget.setFixedHeight(100)
        # 设置卡片背景颜色为红色,圆角
        card_widget.setStyleSheet("background-color: pink; border-radius: 8px;")

        # 创建自适应布局
        #buttons_layout=QHBoxLayout(card_widget)#它归属于card_widget

        #self.addButton=PushButton("新增",self)
        ##self.addButton.setFixedWidth(100)
        #setCustomStyleSheet(self.addButton,ADD_BUTTON_STYLE,ADD_BUTTON_STYLE)
        ##这个方法需要3个参数,第一个参数是按钮对象,第二个参数是白色主题样式,第三个参数是黑色主题样式,这里我设置的前后都一样
        #self.searchInput=SearchLineEdit(self)
        #self.searchInput.setPlaceholderText("搜索学生姓名或学号......")
        #self.searchInput.setFixedWidth(500)
        #self.batchDeleteButton=PushButton("批量删除",self)
        ##self.batchDeleteButton.setFixedWidth(100)
        #setCustomStyleSheet(self.batchDeleteButton,BATCH_DELETE_BUTTON_STYLE,BATCH_DELETE_BUTTON_STYLE)
        ##这个方法需要3个参数,第一个参数是按钮对象,第二个参数是白色主题样式,第三个参数是黑色主题样式,这里我设置的前后都一样
#
        #buttons_layout.addWidget(self.addButton)
        #buttons_layout.addWidget(self.searchInput)
        ##buttons_layout.addStretch(1)#添加一个占位符,这个占位符可以把空气全部占为己有,让元素向右靠齐
        #buttons_layout.addWidget(self.batchDeleteButton)

        #self.layout.addWidget(card_widget)#对象建立时,建立的垂直布局 #把卡片添加到布局中
        #这样卡片上下居中;卡片里的元素左右居中,因为元素被button_layout管理

        #卡片设置完了,接下来设置表格
        self.table_widget=TableWidget(self)
        #需要设置表格的圆角
        self.table_widget.setStyleSheet("border-radius: 8px;")
        self.table_widget.setBorderVisible( True)#边框可见

        self.setStyleSheet("StudentInterface {background: lightblue}")#这就是qss样式设置方式,淡蓝色


if __name__=='__main__':
    app=QApplication(sys.argv)
    w=StudentInterface()
    w.show()
    sys.exit(app.exec())



























